AS8048 supports the 8048, 8041, 8022, and 8021 variations of the 8048 microprocessor family.
PROCESSOR SPECIFIC DIRECTIVES .8048 DIRECTIVE Format: .8048 The .8048 directive enables processing of only the 8048 specific mnemonics. 8041/8022/8021 mnemonics encountered will be flagged with an <o> error. .8041 DIRECTIVE Format: .8041 The .8041 directive enables processing of the 8041 specific mnemonics. 8041 mnemonics encountered without the .8041 direc- tive will be flagged with an <o> error. .8022 DIRECTIVE Format: .8022 The .8022 directive enables processing of the 8022 specific mnemonics. 8022 mnemonics encountered without the .8022 direc- tive will be flagged with an <o> error. .8021 DIRECTIVE Format: .8021 The .8021 directive enables processing of the 8021 specific mnemonics. 8021 mnemonics encountered without the .8021 direc- tive will be flagged with an <o> error. THE .__.CPU. VARIABLE The value of the pre-defined symbol '.__.CPU.' corresponds to the selected processor type. The default value is 0 which cor- responds to the default processor type. The following table lists the processor types and associated values for the AS8048 assembler: Processor Type .__.CPU. Value -------------- -------------- .8048 0 .8041 1 .8022 2 .8021 3 The variable '.__.CPU.' is by default defined as local and will not be output to the created .rel file. The assembler com- mand line options -g or -a will not cause the local symbol to be output to the created .rel file. The assembler .globl directive may be used to change the variable type to global causing its definition to be output to the .rel file. The inclusion of the definition of the variable '.__.CPU.' might be a useful means of validating that seperately assembled files have been compiled for the same processor type. The linker will report an error for variables with multiple non equal definitions.
8048 REGISTER SET The following is a list of the 8048 registers used by AS8048: a - 8-bit accumulator r0,r1,r2,r3 - 8-bit registers r4,r5,r6,r7 bus,p1,p2 - bus and ports p4,p5,p6,p7 an0,an1 - analog input select rb0,rb1 - register bank select mb0,mb1 - memory bank select c - carry (bit in status word) clk - timer cnt - counter dbb - data bus buffer f0 - f0 bit in psw f1 - f1 bit in psw i - interrupt psw - program status word t - timer register tcnt - timer counter tcnti - timer interrupt 8048 INSTRUCTION SET The following tables list all 8048 mnemonics recognized by the AS8048 assembler. The following list specifies the format for each addressing mode supported by AS8048: #data immediate data byte or word data r register r0,r1 rn register r0,r1,r2,r3,r4,r5,r6, or r7 @r indirect on register r0 or r1 @a indirect on accumulator addr direct memory address addr8 current page 8-bit jmp address #data immediate data pn ports p1 or p2 port ports p1,p2 or bus ep ports p4,p5,p6, or p7 bus i/o bus s f0 or f1 bits in psw bitaddr bit address label call or jump label The terms data, addr, and label may all be expressions. Note that not all addressing modes are valid with every in- struction. Refer to the 8048, 8041, 8022, and 8021 technical data for valid modes. Alphabetical Instruction Listing 8021 8022 8041 8048 add a,@r x x x x add a,#data x x x x add a,rn x x x x addc a,@r x x x x addc a,#data x x x x addc a,rn x x x x anl port,#data x x anl bus,#data x anl a,@r x x x x anl a,rn x x x x anld ep,a x x x x call addr x x x x clr a x x x x clr c x x x x clr s x x cpl a x x x x cpl c x x x x cpl s x x daa a x x x x dec rn x x dec a x x x x dis tcnti x x dis i x x djnz rn,addr8 x x x x en tcnti x x en i x x ent0 clk x 8021 8022 8041 8048 in a,dbb x in a,pn x x x x inc a x x x x inc a,@r x x inc rn x x x x ins a,bus x jmp addr x x x x jmpp @a x x x x jb0 addr8 x x jb1 addr8 x x jb2 addr8 x x jb3 addr8 x x jb4 addr8 x x jb5 addr8 x x jb6 addr8 x x jb7 addr8 x x jc addr8 x x x x jf0 addr8 x x jf1 addr8 x x jnc addr8 x x x x jni addr8 x jnibf addr8 x jnt0 addr8 x x jnt1 addr8 x x jnz addr8 x x x x jobf addr8 x jtf addr8 x x x x jt0 addr8 x x jt1 addr8 x x x x jz addr8 x x x x 8021 8022 8041 8048 mov a,#data x x x x mov a,psw x x mov a,@r x x x x mov a,rn x x x x mov a,t x x x x mov psw,a x x mov rn,a x x x x mov @r,a x x x x mov rn,#data x x x x mov @r,#data x x x x mov t,a x x x x movd a,ep x x x x movd ep,a x x x movp a,@a x x x x movp3 a,@a x x movx a,@r x movx @r,a x nop x x x orl a,#data x x x x orl a,rn x x x x orl a,@r x x x x orl bus,#data x orl port,#data x x orld ep,a x x x x out dbb,a x outl bus,a x outl port,a x x x x rad a x ret x x x x retr x x 8021 8022 8041 8048 rl a x x x x rlc a x x x x rr a x x x x rrc a x x x x sel an0 x sel an1 x sel mb0 x sel mb1 x sel rb0 x sel rb1 x swap a x x x x stop tcnt x x x x strt cnt x x x x strt t x x x x xch a,@r x x x x xchd a,@r x x x x xrl a,@r x x x x xrl a,#data x x x x xch a,rn x x x x xrl a,rn x x x x
... Exit the ASxxxx Documentation